// 文件创建者：Jisam
// 创建日期：2024年8月16日 17:54
// 解决问题：T480722 significance.cpp
#include <algorithm>
#include <array>
#include <bitset>
#include <cassert>
#include <chrono>
#include <cmath>
#include <cstdint>
#include <cstring>
#include <functional>
#include <iomanip>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <vector>

using namespace std;

// 定义换行符
#define endl "\n"
// 定义字符串和整数的二元组
#define PSI pair<string,int>
// 定义整数和整数的二元组
#define PII pair<int,int>
// 定义双精度浮点数和整数的二元组
#define PDI pair<double,int>
// 定义双精度浮点数和双精度浮点数的二元组
#define PDD pair<double,double>
// 定义二维整数向量
#define VVI vector<vector<int>>
// 定义整数向量
#define VI vector<int>
// 定义字符串向量
#define VS vector<string>

// 定义最大堆
#define PQLI priority_queue<int, vector<int>, less<int>>
// 定义最小堆
#define PQGI priority_queue<int, vector<int>, greater<int>>
// 定义无符号整数
#define ui unsigned
// 定义长整型
#define lli long long
// 定义无符号长整型
#define ulli unsigned long long
// 禁止标准输入输出同步，加快输入输出
#define code_by_jisam ios::sync_with_stdio(false),cin.tie(nullptr)
using namespace std;

/**
 * @brief 解决方案函数
 *
 * 该函数解决的问题是计算每个元素的重要性。重要性定义为直接或间接引用该元素的元素数量。
 * 通过读取输入并计算每个元素的重要性，然后输出结果。
 */
void solution() {
    int n;
    cin >> n;
    VI x(n + 4);
    VVI a(n + 4,vector(n + 4,0));
    for(int i = 1 ; i <= n ; i ++)
    {
        cin >> x[i];
        for(int j = 1 ; j <= x[i] ; j ++)
        {
            cin >> a[i][j];
        }
    }

    for(int i = 1; i <= n;  i ++)
    {
        int cnt = 0;
        for(int j = 1; j <= x[i]; j ++)
        {
            for(int k = 1; k <= x[a[i][j]] ;k ++)
            {
                if(a[a[i][j]][k] == i){
                    cnt --;
                }
            }
            cnt += x[a[i][j]];
        }
        cout << cnt + x[i] << " ";
    }
}

/**
 * @brief 主函数
 *
 * @return int 返回0表示程序正常结束
 */
int main() {
    code_by_jisam;
    int T = 1;
//    cin >> T;
    while (T--) {
        solution();
    }
    return 0;
}
